The XML (eXtended Markup Language) provides a standard way of tagging data so that the data can be read and interpreted by a variety of Web browsers. Given the enormous proliferation of web hosts and applications on global communications networks such as the Internet, XML documents are used extensively in daily transactions.
Document Type Definition (DTD) is one technology that defines the document structure of an XML document according to a list of legal elements or building blocks. From a DTD perspective, all XML documents (and HTML documents) are made up by the following simple building blocks: Elements, Tags (used to markup elements), Attributes (used to provide extra information about elements), Entities (variables used to define common text), PCDATA (Parsed Character Data), and CDATA (Character Data). Elements are the main building blocks of XML documents. Examples of XML elements could be “note” and “message.” Elements can contain text, other elements, or be empty.
XML Schema is a W3C (World Wide Web Consortium) standard that defines a schema definition language for an XML data model. Schema definitions (e.g., a type definition such as CustomerType that describes the structure of information regarding each Customer) can be used to validate the content and the structure of XML instance documents. The XML Schema document is an XML document that is expressed in a different way than the tables and columns of a relational database system. The type information supplied in an XML Schema document can also be used to check XML queries for correctness, and optimize XML queries and XML storage.
XML Schema provides a more robust replacement to DTD technology to include the following: XML Schema is extensible to future additions to allow extending or restricting a type definition; XML Schema is richer and more useful than DTD to allow, for example, the capability to define user-defined types; XML Schema is written in XML; XML Schema supports data types; and XML Schema support namespaces. Unlike DTD, XML Schema provides separation between type and element definitions, so that multiple elements (e.g., LocalCustomer and DistantCustomer) of the same type can be defined using a common type definition (e.g., CustomerType). An XML Schema document can import other XML Schema documents, thereby setting up a type library system.
Having the capability to store XML Schema documents in relational structures has at least the following advantages: type definitions can be searched efficiently using relational index structures (instead of parsing the XML Schema documents); appropriate pieces of the XML Schema documents (e.g., only CustomerType definition) can be selectively loaded into memory buffers for validations of XML instances, which provides a significant performance improvement; and SQL (Structured Query Language) views can be provided on the relational storage for relational users to know about stored XML Schema documents. Thus, here is a substantial unmet need for a technique that provides improved caching of metadata tables for translation of XML Schema data into a relational database structure.